/*
 * MockDirectorio.h
 *
 *  Created on: 08/02/2010
 *      Author: San Martín, Matías I.
 */

#ifndef MOCKDIRECTORIO_H_
#define MOCKDIRECTORIO_H_

#include "../../../Aplicacion/Infraestructura/Directorio.h"

#include <list>

using namespace std;
using namespace aplicacion;

class MockDirectorio: public aplicacion::Directorio {

	typedef list<InformacionPlaneta> t_infoPlanetas;

//------------------------------ ATRIBUTOS ------------------------------
private:
	t_infoPlanetas _infoPlanetas;

//------------------------------ METODOS ------------------------------
public:
	MockDirectorio();
	virtual ~MockDirectorio();

	virtual bool registrarNuevo (InformacionCreacionUniverso& aRegistrar)
	{
		return true;
	}

	virtual bool registrarNuevo (JuegoDTO& aRegistrar)
	{
		return true;
	}

	virtual bool add (const InformacionCreacionUniverso& universo, InformacionPlaneta& aAgregar)
	{
		return true;
	}

	virtual bool add (const JuegoDTO& juego, JugadorDTO& aAgregar) { return false; }

	virtual bool esperarComienzo(const JugadorDTO& jugador){ return false; }

	virtual t_listaUniversos buscarUniversos(){
		t_listaUniversos l;
		return l;
	}

	virtual t_listaJuegos buscarJuegos(){
		t_listaJuegos l;
		return l;
	}

	virtual InformacionPlaneta* getInformacionPlaneta(InformacionPlaneta* infoPlaneta);

	virtual Direccion getDireccionPlaneta(IdPlaneta idPlaneta) {
		Direccion d = 0;
		return d;
	}

	void addInformacionPlaneta(const InformacionPlaneta& infoPlaneta);

	virtual operator bool() const { return true; }

	virtual t_listaPlanetas listarPlanetas(IdUniverso idUniverso)
	{
		t_listaPlanetas l;
		return l;
	}

	virtual bool destruirJuego(const JuegoDTO& juego)
	{
		return true;
	}


	virtual t_listaJuegos listarJuegosAbiertos()
	{
		t_listaJuegos l;
		return l;
	}

	virtual t_listaUniversos listarUniversosCerrados()
	{
		t_listaUniversos l;
		return l;
	}

	virtual t_listaUniversos listarUniversosAbiertos()
	{
		t_listaUniversos l;
		return l;
	}

};

#endif /* MOCKDIRECTORIO_H_ */
